package com.twoGroup.boot.mapper;


import com.twoGroup.boot.pojo.Goods;
import com.twoGroup.boot.pojo.GoodsAndShopAndGoodsTypeAndGoodsBrand;
import com.twoGroup.boot.pojo.GoodsImg;
import com.twoGroup.boot.pojo.Shop;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Author Xuyujie
 * @Description //商家接口
 * @Date 20:03 2021/5/14
 * @Param
 * @return
 **/

@Mapper
public interface MerchantMapper {

    /**
     * @Author Xuyujie
     * @Description //开设店铺
     * @Date 10:48 2021/5/16
     * @Param [shop]
     * @return int
     **/
    int addShop(Shop shop);

    /**
     * @Author Xuyujie
     * @Description //关闭店铺
     * @Date 10:59 2021/5/16
     * @Param [shopId]
     * @return int
     **/
    int shutDownShop(int shopId);
    /**
     * @Author Xuyujie
     * @Description //上架商品
     * @Date 10:58 2021/5/15
     * @Param [goods]
     * @return int
     **/

    int addGoods(Goods goods);

    /**
     * @Author Xuyujie
     * @Description //根据商品的id进行下架商品
     * @Date 10:59 2021/5/15
     * @Param [goodsId]
     * @return int
     **/
    int deleteGoods(int goodsId);

    int deleteImg(int goodsId);
    /**
     * @Author Xuyujie
     * @Description //先进行查询然后在进行修改。
     * @Date 11:00 2021/5/15
     * @Param [goods]
     * @return int
     **/
    int updateGoods(Goods goods);
    /**
     * @Author Xuyujie
     * @Description //通过店铺名称判断是否店铺名称已经存在
     * @Date 9:12 2021/5/21
     * @Param [shopName]
     * @return int
     **/
    int queryShopName(String shopName);
    /**
     * @Author Xuyujie
     * @Description //添加图片
     * @Date 20:30 2021/5/21
     * @Param []
     * @return int
     **/
    int addGoodsImg(GoodsImg goodsImg);
    /**
     * @Author Xuyujie
     * @Description //更新商品信息的同时更新商品的图片
     * @Date 20:48 2021/5/21
     * @Param [goodsImg]
     * @return int
     **/
    int updateGoodsImg(GoodsImg goodsImg);

    /**
     * @Author Xuyujie
     * @Description //查询商品信息根据id
     * @Date 10:31 2021/5/22
     * @Param
     * @return
     **/
    Goods queryForGoods(int goodsId);

    /**
     * @Author Xuyujie
     * @Description //通过店铺id查找店铺下的所有商品
     * @Date 15:31 2021/5/22
     * @Param []
     * @return java.util.List<com.twogroup.pojo.Goods>
     **/
    List<Goods> queryForMerchantGoods(int shopId);
    /**
     * @Author Xuyujie
     * @Description //根据id查询shop
     * @Date 22:28 2021/5/23
     * @Param [shopId]
     * @return com.twogroup.pojo.Shop
     **/
    Shop queryForShop(int shopId);

    List<GoodsImg> queryForGoodsImg(int goodsId);

    GoodsImg queryForGoodsImgByImgId(int imgId);

    int deleleImgByImgId(Integer imgId);

    int queryForUserShop(int userId);

    List<GoodsAndShopAndGoodsTypeAndGoodsBrand> queryForGoodsAll(int shopId);

    List<Shop> queryForUserShopById(int userId);

    List<Integer> querForMerchant();
}
